package cn.summit.sort;

import java.util.Arrays;

/**
 * 选择排序，最简单的排序规则
 *
 * 原理： 遍历每次取最小的往位子上放
 *
 * @author summit
 * @since 2021/8/15 21:27
 */
public class SelectSortTest {

	public static void main(String[] args) {

		int[] arr = { 1, 10, 6, 2, 2, 3 };
		selectSort(arr);

		System.out.println(Arrays.toString(arr));
	}

	private static int[] selectSort(int[] arr) {
		for (int i = 0; i < arr.length; i++) {
			int min = i;
			for (int j = i + 1; j < arr.length; j++) {
				if (arr[min] > arr[j]) {
					min = j;
				}
			}
			if (i != min) {
				swap(arr, i, min);
			}
		}
		return arr;
	}

	public static void swap(int[] arr, int a, int b) {
		int tmp = arr[a];
		arr[a] = arr[b];
		arr[b] = tmp;
	}

}
